package com.boding.power.intercept;

import com.boding.power.common.Constants;
import com.boding.power.model.Businessinfo;
import com.boding.power.model.Customer;
import com.boding.power.model.Users;
import com.boding.power.model.Vipinfo;
import com.boding.power.utils.UserUtil;
import com.jfinal.aop.Interceptor;
import com.jfinal.aop.Invocation;
import com.jfinal.core.Controller;

/**
 * 
 * @author giegie
 * @date 2016年5月19日
 * @description 用户信息检查没有完善信息 跳转到完善信息页面
 */
public class PerfectInfoInterceptor implements Interceptor {

	public void intercept(Invocation inv) {
		// 获取个人信息,没有个人信息或者商户信息 跳转到完善个人信息
		Users user = UserUtil.getUser();
		Integer type = user.getType();
		Controller controller = inv.getController();
		switch (type) { // 根据用户类型储存,跳转到相关的完善信息页面
		case 2: {// 普通用户
			Customer customer = Customer.dao.finByUserId(user.getId());
			if (customer == null) {
				controller.redirect("/front/cusPerfectInfoUI?user_id="
						+ user.getId() + "&username=" + user.getUsername());
			} else {
				// 不是进入后台主页而是进入 前台主页
				controller.renderText("发动机主页");
			}
			break;
		}
		case 3: {// 普通商户 TODO 审核不通过的编辑个人信息
			Businessinfo businessinfo = Businessinfo.dao.findByUserId(user
					.getId());
			if (businessinfo == null) {
				controller.redirect("/front/busPerfectInfoUI?user_id="
						+ user.getId() + "&username=" + user.getUsername());
			} else if(businessinfo.getStatus() == Constants.FLAG_AUTHSTR){//待审核状态
				controller.renderHtml("<h1>您提交的信息还没有通过审核</h1>");
			} else{
				inv.invoke();
			}
			break;
		}
		case 4: {
			Vipinfo vipinfo = Vipinfo.dao.findByUserId(user.getId());
			if (vipinfo == null) {
				controller.redirect("/front/vipPerfectInfoUI?user_id="
						+ user.getId() + "&username=" + user.getUsername());
			} else {
				inv.invoke();
			}
			break;
		}
		}

	}
}
